#ifndef _MOE_PERTURB_MUTATION
#define _MOE_PERTURB_MUTATION

#include "engine/Mutation.hh"
#include "engine/Random.hh"
#include "problems/IntArraySolution.hh"

/**
* PerturbMutation is a Mutation operator.
* Modify an IntArraySolution
*/
class PerturbMutation: public Mutation {

public:
    PerturbMutation(double probability) : Mutation(probability) {}

    virtual ~PerturbMutation() {}

protected:

    virtual void mutate(Solution *solution);
};

#endif


